//*********************************************************
//
//    Copyright (c) Microsoft. All rights reserved.
//    This code is licensed under the Apache License, Version 2.0.
//    THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
//    ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
//    IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
//    PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
//
//*********************************************************

namespace Microsoft.Research.ScientificWorkflow.TridentModel
{
    using System;

    /// <summary>
    /// Subsection creation event args.
    /// </summary>
    public class SubsectionCreationEventArgs : EventArgs
    {
        /// <summary>
        /// Subsection creation event args.
        /// </summary>
        /// <param name="parentActivityModel">
        /// The parent activitymodel.
        /// </param>
        /// <param name="indexOfSubsection">
        /// Index of the subsection in the parent activityModel.
        /// </param>
        /// <param name="prevSubsection">
        /// The previous subsection in the series.
        /// </param>
        /// <param name="nextSubsection">
        /// The next subsection in the series.
        /// </param>
        public SubsectionCreationEventArgs(
            BaseCompositeModel parentActivityModel,            
            WorkflowMetadata workflowMeta,
            int index)
        {
            this.ParentModel = parentActivityModel;
            this.WorkflowMetadata = workflowMeta;
            this.Index = index;
        }

        /// <summary>
        /// Gets or sets the parentActivityModel.
        /// </summary>
        public BaseCompositeModel ParentModel
        {
            get;
            set;
        }

        /// <summary>
        /// Gets and sets the workflow meta data.
        /// </summary>
        public WorkflowMetadata WorkflowMetadata
        {
            get;
            set;
        }

        /// <summary>
        /// Gets and sets the index at which the subsection is to be inserted.
        /// </summary>
        public int Index { get; set; }
    }
}
